1. Technical Field
The present invention relates generally to techniques for sharing data streams, control signals, and variables between software tasks and multimedia end devices, and in particular to techniques for sharing data streams, control signals, and variables in a digital signal processor which interfaces with a data processing system.
2. Description of the Related Art
Multimedia application programs are becoming increasingly important in modern computing. Many experts believe that the coordinated operation of multimedia end devices, such as telephones, televisions, audio CD players, and CD ROMs, represents a substantial new market for data processing industries. In fact, some believe that many households remain without personal computing equipment due to the fact that heretofore data processing systems have failed to adequately control the coordinated and real-time operation of multimedia end devices. One continuing problem with the prior art multimedia data processing systems is that the multimedia application software remains in a closed architecture which is not suitable for interfacing with multimedia applications written by end users. Another considerable problem with prior art multimedia data processing systems is that the multimedia end devices are fairly intolerant of data loss or slippage which introduces undesirable data gaps and undesirable phase delays. Obtaining the coordinated and synchronized operation of a plurality of multimedia end devices has remained a goal which has been heretofore outside of the reach of prior art multimedia data processing systems. Experts agree that a true coordinated and synchronized operation of multimedia end devices would render multimedia data processing systems powerful teaching tools which could coordinate the display of text, still images, video images, audio output, and provide a true interactive education forum. Unfortunately, commercially available multimedia data processing systems have fallen short of expectations due principally to the rigidity of their architecture, the difficulty of passing real-time and/or asynchronous data streams between tasks, and difficulty of synchronizing the operation of multimedia end devices.